/** * */ package bubolo.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Serializable; import bubolo.ui.UserInterface; import bubolo.ui.Preferences.PreferencesModel; /** * @author BU CS673 - Clone Productions */ public class PreferencesManager implements Serializable { /** * */ private static final long serialVersionUID = -9175957300891593921L; /** Preference File Manager Class */ public void PreferenceManager() { } /** * Loads and returns the Preferences Model from disk * @return the PreferencesModel loaded from disk */ public PreferencesModel LoadPreference() { PreferencesModel pm = new PreferencesModel(); try( InputStream file = new FileInputStream(UserInterface.PREFERENCES_FILENAME); InputStream buffer = new BufferedInputStream(file); ObjectInput input = new ObjectInputStream(buffer);) { pm = (PreferencesModel)input.readObject(); } catch(IOException ex) { System.out.println("Error Saving File. " + ex); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println("Load Error. Call not found. " + e); } return pm; } /** * Serializes and saves the Preferences model to disk * @param pm the Preferences model to save to disk */ public void SavePreference(PreferencesModel pm) { try( OutputStream file = new FileOutputStream(UserInterface.PREFERENCES_FILENAME); OutputStream buffer = new BufferedOutputStream(file); ObjectOutput output = new ObjectOutputStream(buffer);) { output.writeObject(pm); } catch(IOException ex) { System.out.println("Error Saving File. " + ex); } } }